package co.edu.poligran.cluseva.agrupamiento;

import java.io.IOException;

import weka.clusterers.SimpleKMeans;
import weka.core.Instance;
import weka.core.Instances;
import co.edu.poligran.cluseva.lector.Lector;
import co.edu.poligran.cluseva.lector.LectorArff;

public class TestKMeans {

	public static void main(String[] paola) {
		SimpleKMeans kmeans = null;
		try {
			kmeans = new SimpleKMeans();
			kmeans.setNumClusters(2);
		} catch (Exception e1) {
			System.out.println("e1> " + e1.getMessage());
		}
		// kmeans.setNumClusteres(
		// Integer.parseInt(JOptionPane.showInputDialog("numero de clusteres",
		// "2") ) );

		Lector lector = new LectorArff();

		try {
			Instances instancias = lector.cargarArchivo("data/iris.arff");

			instancias.deleteAttributeAt(4);
			System.out.println(instancias.instance(0).numAttributes());
			kmeans.buildClusterer(instancias);

			Instance instancia;
			int cluster;

			for (int i = 0; i < instancias.numInstances(); i++) {
				instancia = instancias.instance(i);
				cluster = kmeans.clusterInstance(instancia);
				System.out.println("Cluster> " + cluster + " Instancia> "
						+ instancia);
			}

		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}

	}
}
